package leetcode_ago.string_and_array;

/**
 * 给你一个整数 x ，如果x是一个回文整数，返回 true ；否则，返回 false 。
 * 回文数是指正序（从左向右）和倒序（从右向左）读都是一样的整数
 * 思路1：反向求和，看是否等于原来的数
 * 思路2：整数转化为字符串比较
 */
//public class Num9_IsPalindrome {
//    public boolean isPalindrome(int x) {
//        int num=x;
//        if(x<0){
//            return false;
//        }
//        if(x<10){
//            return true;
//        }
//        if(x%10==0){//个位数是0的一概不是，因为最高位不可能为0
//            return false;
//        }
//        //此时从末尾对反着的数进行求和
//        int sum=0;
//        while (x>0){
//            sum=sum*10+x%10;
//            x/=10;
//        }
////        if(sum==x){
////            return true;
////        }else{
////            return false;
////        }
//        return num==sum;
//    }
//}

/**
 * 将整型转为字符串比较
 */
public class Num9_IsPalindrome {
    public boolean isPalindrome(int x) {//将字符串反转
        String str=String.valueOf(x);
       StringBuilder sb=new StringBuilder(str);
       sb.reverse();
       return sb.toString().equals(str);

    }
//    public boolean isPalindrome(int x) {//遍历字符串的每一个字符
//        if(x<0){
//            return false;
//        }
//       String str=String.valueOf(x);//将x转为字符串，然后将字符串逆序比较
//        StringBuilder sb=new StringBuilder();
//        for(int i=str.length()-1;i>=0;i--){
//            char ch=str.charAt(i);
//            sb.append(ch);
//        }
//        String str1=sb.toString();
//        return str.equals(str1);
//    }
}